\documentclass{ctexart}

\usepackage{float}
\usepackage{graphicx}
\usepackage{listings}

\lstset{
basicstyle=\ttfamily,
columns=fullflexible,%可以自动换行
linewidth=1\linewidth, %设置代码块与行同宽
breaklines=true,%在单词边界处换行。
showstringspaces=false， %去掉空格时产生的下划的空格标志, 设置为true则出现
breakatwhitespace=ture,%可以在空格处换行
escapechar=`%设置转义字符为反引号
}

\title{code report of chapter two}
\author{谢飞扬\\  信息与计算科学 3210104010}
\date{\today}

\begin{document}
\maketitle
\setlength{\parindent}{0pt}

\section{problem A}
以类的方式设计各个插值多项式，抽象出了基类，在设计上充分运用了封装、多态和继承的特性。切比雪夫多项式和厄尔米特多项式都继承自牛顿多项式。
c++程序将数据以txt文件类型输出，由python读取并画出函数图像。下面简单给出牛顿插值类的接口。

\begin{lstlisting}
class NewtonInterpolation : public PolynomialInterpolation
{
public:
    double evaluate(double x) const; // 计算插值多项式在x的函数值
    void print(double left, double right, double grid = 0.01) const; // 打印区间[left，right]内的插值函数
    void output_file(const char *filename, const double left, const double right,
                     const double grid = 0.01) const; // 将区间[left，right]内的插值函数输出到txt文件中

    NewtonInterpolation() = default;
    ~NewtonInterpolation() = default;

    /// 给定函数和插值点，用多项式逼近函数,f被逼近函数 ips插值点
    NewtonInterpolation(const std::vector<double> &ips, int np, double (*f)(double));

    /// 给定插值点和函数在插值点的值，用多项式逼近函数,ivs函数在插值点的值 ips插值点
    NewtonInterpolation(const std::vector<double> &ips, int np, const std::vector<double> &ivs);

protected:
    virtual void calculate(); // 根据newton插值法计算差商表
    std::vector<std::vector<double>> divided_differences_table; // 差商表
};
\end{lstlisting}

\section{problem B}
看到了明显的Runge现象。
\begin{figure}[H] % 设置图片位置
\centering % 居中显示图片
\includegraphics[width=0.8\textwidth]{pic/problemB.png} % 插入PNG图片，宽度为文本宽度的一半
\caption{problemB} % 图片标题
\label{fig:problemB} % 图片标签，用于交叉引用
\end{figure}

\section{problem C}
Runge现象减弱，不存在先前的宽振荡。
\begin{figure}[H] % 设置图片位置
\centering % 居中显示图片
\includegraphics[width=0.8\textwidth]{pic/problemC.png} % 插入PNG图片，宽度为文本宽度的一半
\caption{problemC} % 图片标题
\label{fig:problemC} % 图片标签，用于交叉引用
\end{figure}

\section{problem D}

\subsection{a}
位置: 742.503英尺，速度: 48.3817英尺每秒

\subsection{b}
根据图像，汽车速度超过了81英尺每秒。
\begin{figure}[H] % 设置图片位置
\centering % 居中显示图片
\includegraphics[width=0.8\textwidth]{pic/problemD.png} % 插入PNG图片，宽度为文本宽度的一半
\caption{problemD} % 图片标题
\label{fig:problemD} % 图片标签，用于交叉引用
\end{figure}


\section{problem E}

\subsection{a}
\begin{figure}[H] % 设置图片位置
\centering % 居中显示图片
\includegraphics[width=0.8\textwidth]{pic/problemE.png} % 插入PNG图片，宽度为文本宽度的一半
\caption{problemE} % 图片标题
\label{fig:problemE} % 图片标签，用于交叉引用
\end{figure}

\subsection{b}
15天后sp1组的重量为:14640.3，sp2组的重量为:2981.48，
由图像，sp2显然不会死亡,sp1在第二天平均重量为负数为Runge现象，15天后仍然存活（python直接画出的矢量图可以放大看）。
\end{document}
